/* Copyright (c) 2007-2008, Jeffrey R Griffin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*     * Redistributions of source code must retain the above copyright
*       notice, this list of conditions and the following disclaimer.
*     * Redistributions in binary form must reproduce the above copyright
*       notice, this list of conditions and the following disclaimer in the
*       documentation and/or other materials provided with the distribution.
*     * Neither the name of Jeffrey R Griffin nor the
*       names of his contributors may be used to endorse or promote products
*       derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY Jeffrey R Griffin ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

package net.visibleblue.android.restaurant;

import net.visibleblue.android.app.dynamic.DynamicActivity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.net.http.SslError;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.KeyEvent;
import android.webkit.BrowserCallback;
import android.webkit.HttpAuthHandler;
import android.webkit.SslErrorHandler;
import android.webkit.WebHistoryItem;
import android.webkit.WebView;

public class TriviaActivity extends DynamicActivity{
	
	@Override
	public int getThemeResource() {
		return android.R.style.Theme_White;
	}

	@Override
	public CharSequence getTitle() {
		return "Trivia";
	}

	@Override
	protected void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		setContentView(R.layout.trivia);

		new Handler()
		{

			@Override
			public void handleMessage(Message msg) {
				WebView view = (WebView)findViewById(R.id.triviaView);
				view.getSettings().setJavaScriptEnabled(true);
				view.getSettings().setLoadsImagesAutomatically(true);
				view.setBrowserCallback(new BrowserCallback()
				{
					private ProgressDialog _pDialog = null;

					@Override
					public void updateVisitedHistory(String arg0, boolean arg1){
					}

					@Override
					public void setProgress(int newProgress) {
						_pDialog.setProgress(newProgress*100);
						if(newProgress==100)
						{
							_pDialog.cancel();
							WebView view = (WebView)findViewById(R.id.triviaView);
							if(view.getUrl().endsWith("answer.asp"))
								view.scrollTo(225, 210);
							else
								view.scrollTo(260, 210);
						}
					}

					@Override
					public void reportError(int errorCode, String description) {
						// TODO Auto-generated method stub

					}

					@Override
					public void onTooManyRedirects(Message cancelMsg,
							Message continueMsg) {
						// TODO Auto-generated method stub

					}

					@Override
					public boolean overrideKeyEvent(KeyEvent event) {
						// TODO Auto-generated method stub
						return false;
					}

					@Override
					public boolean overrideUrlLoading(String url) {
						// TODO Auto-generated method stub
						return false;
					}

					@Override
					public void onReceivedIcon(Bitmap icon) {
						// TODO Auto-generated method stub

					}

					@Override
					public void onReceivedTitle(String title) {
						// TODO Auto-generated method stub

					}

					@Override
					public boolean onSavePassword(String host, String username,
							String password, Message resumeMsg) {
						// TODO Auto-generated method stub
						return false;
					}

					@Override
					public void onDownloadSuspended(String filename,
							Message resumeMsg) {
						// TODO Auto-generated method stub

					}

					@Override
					public void onLoadResource(String url) {
						// TODO Auto-generated method stub

					}

					@Override
					public void onPageStarted(String url) {
						_pDialog = ProgressDialog.show(TriviaActivity.this, "Loading...", 
								"", false, false);
					}

					@Override
					public void onDownloadFailed(String filename, int reasonCode) {
						// TODO Auto-generated method stub

					}

					@Override
					public void onDownloadFinished(String filename) {
						// TODO Auto-generated method stub
					}

					@Override
					public void onDownloadStart(String filename,
							String mimetype, long contentLength,
							Message suspendMsg, Message cancelMsg) {
						// TODO Auto-generated method stub

					}

					@Override
					public String[] getDataForTextElement(String name) {
						// TODO Auto-generated method stub
						return null;
					}

					@Override
					public String[] getUsernamePassword(String host) {
						// TODO Auto-generated method stub
						return null;
					}

					@Override
					public void onAsyncKeyEvent(KeyEvent event) {
						// TODO Auto-generated method stub

					}

					@Override
					public void decidePolicyForFormResubmission(Message resend,
							Message dontResend) {
						// TODO Auto-generated method stub

					}

					@Override
					public void displayHttpAuthDialog(HttpAuthHandler handler,
							String host, String realm) {
						// TODO Auto-generated method stub

					}

					@Override
					public void displaySslErrorDialog(SslErrorHandler handler,
							SslError error) {
						// TODO Auto-generated method stub

					}

					@Override
					public void closeWindow(WebView window) {
						// TODO Auto-generated method stub

					}

					@Override
					public void createWebViewSnapshot(WebHistoryItem item) {

					}

					@Override
					public WebView createWindow() {
						// TODO Auto-generated method stub
						return null;
					}

				});
				view.loadUrl("http://www.yourtrivia.com/home.asp");
				super.handleMessage(msg);
			}
		}.sendMessage(new Message());
	}

}
